derivative techniques